// package main

// import (
// 	"encoding/binary"
// 	"fmt"
// 	"io"
// 	"log"
// 	"net"
// )

// //tcp server 服务端代码
// var buf [512000]byte

// func main() {
// 	tcpListener, _ := net.Listen("tcp", "0.0.0.0:18001")
// 	defer tcpListener.Close()
// 	fmt.Println("Server ready to read ...")
// 	for {
// 		conn, err := tcpListener.Accept()
// 		if err != nil {
// 			log.Println(err)
// 		}
// 		// var buf [51200]byte
// 		for {
// 			bodyLen, err := ReadData(conn, buf[:])
// 			if err != nil {
// 				panic(err)
// 			}
// 			log.Println(bodyLen, buf[61230:61250])
// 		}
// 	}
// }

// func ReadData(conn net.Conn, buf []byte) (int, error) {
// 	//读取包头
// 	_, err := conn.Read(buf[:2])
// 	if nil != err {
// 		log.Printf("Read Data Length error [%s]", err.Error())
// 		return 0, err
// 	}
// 	// 读包体
// 	bodyLen := binary.BigEndian.Uint16(buf[:2])

// 	// for begin := 0; begin < int(bodyLen); {
// 	// 	n, err := conn.Read(buf[begin:bodyLen])
// 	// 	if err != nil {
// 	// 		log.Printf("Read Data Body error [%s]", err.Error())
// 	// 		return 0, err
// 	// 	}
// 	// 	begin += n
// 	// }
// 	if _, err := io.ReadFull(conn, buf[:bodyLen]); err != nil {
// 		panic(err)
// 	}
// 	return int(bodyLen), nil
// }
